1. Field of Invention
This invention relates generally to tangible computing, and more particularly to the creation of computer programs by manipulating physical objects that represent program language elements of a program or programming language. The basic functions of the tangible computing system call for observation by a computer of a real, three-dimensional work space, where each physical object can be assigned a program language element, and assignment of attributes to, and/or movement of, each object results in a new program component.
2. Description of Related Art
Human computer interface (HCI) has evolved from the historical human interaction with machine by way of levers and buttons to the present-day keyboard, mouse and graphic display. However, interactions between people and computer programs are generally confined to graphical user interface (GUI) applications on desktop computers. The essence of a GUI is the metaphor--or icon--depicting a real world application in a virtual environment. Thus, GUI solutions take advantage of realistic metaphors.
Ubiquitous computing is an approach to computing where many computers are available throughout a physical environment, while being unnoticed to the user. This type of computing, however, is characterized by exporting a GUI-style interaction metaphor to large and small computer terminals situated in the user's physical environment.
"Augmented reality," or "computer-augmented environments," is another approach to computing which attempts to integrate real and computational media. For example, physical documents can be moved with digital documents using a video projection of computer display onto a real desk with physical documents.
"Passive real-world interface props" have also been developed, where a user is given physical props as a mechanism for manipulating three-dimensional models within a traditional computer screen.
With the advent of virtual reality, haptic interfaces were developed to allow a user to move his hand and interact with virtual components within a virtual environment.
A newer type of HCI is called "tangible user interfaces" (TUIs), which augments the physical world by coupling digital information to everyday physical objects and environments. For example, a flat-panel display is a physically instantiated window which allows haptic interaction with three-dimensional digital information bound to physical objects. Thus in TUI, physical objects replace virtual icons, and manipulation of the physical objects represent what is occurring in the virtual world.
Other systems using direct manipulation programs include "ToonTalk," which permits programs to be constructed by user manipulation of graphic representations of physical objects, all within a virtual environment.